package com.wdata.base.service;

import com.github.pagehelper.PageHelper;
import com.wdata.base.dao.CrudDao;
import com.wdata.base.util.Page;
import com.wdata.base.util.PageData;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;


public class CrudService<Dao extends CrudDao<T>, T> {
    @Autowired
    protected Dao curdDao;

    /**
     * 基础查询分页
     */
    public List<T> findListPage(Page page) {
        PageHelper.startPage(page.getIndex(), page.getShowCount());
        return curdDao.findListPage(page);
    }

    public Integer findListSize(Page page) {
        return curdDao.findListSize(page);
    }

    /**
     * 基础查询列表
     */
    public List<T> findList(PageData pd) {
        return curdDao.findList(pd);
    }

    /**
     * 查询详情
     */
    public T findInfo(PageData pd) {
        return curdDao.findInfo(pd);
    }

    /**
     * 基础保存方法
     */
    public int save(T t) {
        return curdDao.save(t);
    }


    /**
     * 基础更新方法
     */
    public int update(T t) {
        return curdDao.update(t);
    }

    /**
     * 基础删除对象方法
     */
    public void remove(PageData pd) {
        curdDao.remove(pd);
    }

    /**
     * 基础根据ids删除对象
     */
    public void del(String[] ids) {
        curdDao.del(ids);
    }

    /**
     * delOne
     */
    public void delOne(String id) {
        curdDao.delOne(id);
    }
}
